// 用户名正则验证
export function nameRule(rule, value, callback) {
    /**
 * - 大写字母 A-Z
- 小写字母 a-z
- 数字 0-9
- 汉字（中文字符范围：\u4E00-\u9FA5）
- 平假名（日文字符范围：\u3040-\u309F）
- 片假名（日文字符范围：\u30A0-\u30FF）
- 扩展片假名（日文字符范围：\u31F0-\u31FF）
- 韩文字符（字符范围：\uAC00-\uD7A3）
 */
    let reg = /^[a-zA-Z0-9\u4e00-\u9fa5\u3040-\u309F\u30a0-\u30ff\u31f0-\u31ff\uac00-\ud7a3]{1,10}$/;
    if (!value) {
        callback(new Error('用户名不能为空！'))
        return false;
    } else if (!reg.test(value)) {
        callback(new Error('用户名长度请在1-10位以内，中日韩英!'))
    } else {
        callback()
    }
}

// 密码正则验证
export function passRule(rule, value, callback) {
    let reg = /^\S*(?=\S{6,18})(?=\S*[A-Z])(?=\S*[a-z])\S*$/;
    if (!value) {
        callback(new Error('密码不能为空！'))
    } else if (!reg.test(value)) {
        callback(new Error('密码长度请在6-18位以内，包含1个字母大小写!'))
    } else {
        callback()
    }
}

// 邮箱正则验证
export function emailRule(rule, value, callback) {
    let reg = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    if (!value) {
        callback(new Error('邮箱不能为空！'))
    } else if (!reg.test(value)) {
        callback(new Error('邮箱格式不正确！'))
    } else {
        callback();
    }
}

// 验证码正则验证
export function codeRule(rule, value, callback) {
    let reg = /^[a-zA-Z0-9]{4}$/; // 验证码为4位数
    if (!value) {
        callback(new Error('验证码不能为空！'))
    } else if (!reg.test(value)) {
        callback(new Error('验证码有误!'))
    } else {
        callback();
    }
}
